package com.sg.dto.biz.component.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc AddTargetBudgetSetPersonalPreComReqDto
 * @使用场景
 */
@Data
public class AddTargetBudgetSetPersonalPreComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 业务数据对象 ACCT_STD_DATA_TARGET_CONT_SNAP:账户标准数据目标内容快照 ACCT_STD_DATA_AMT_SNAP:目标内容周期、相关人与账户快照 INIT_BUDGET_AND_REAL_ACCT:初始化预算或实体账户 TARGET_BUDGET_SET:目标预算设置 CACL_OR_UNDERPIN_STD_DATA_SNAP:计算或托底标准数据快照 EVA_TEMP_CONF_ARGUMENTS:评价模板配置参数 ORG_TYPE_DICTIONARY:组织架构类型字典 BUSINESS_DATA_OBJECT_TEST:业务数据对象验证 CALC_SUBJECTIVE_WEIGHT_SCORE:计算权重主观评分 CALC_DATA_RESULT:计算数据结果 PLATFORM_OM_CONF:平台运维配置
     */
    @NotNull(message = "业务数据对象不能为空")
    @ApiModelProperty("业务数据对象")
    private String businessDataObject;

    /**
     * 数据对象批次标识
     */
    @ApiModelProperty("数据对象批次标识")
    private String dataObjectBatchCode;

    /**
     * 自定义字段值1
     */
    @NotNull(message = "周期预算金额不能为空")
    @ApiModelProperty("周期预算金额")
    private String customFieldValue1;

    /**
     * 自定义字段值2
     */
    @ApiModelProperty("预算金额占比")
    private String customFieldValue2;

    /**
     * 自定义字段值3
     */
    @NotNull(message = "预算周期模型编码不能为空")
    @ApiModelProperty("预算周期模型编码")
    private String customFieldValue3;

    /**
     * 自定义字段值4
     */
    @NotNull(message = "被评对象目标周期ID不能为空")
    @ApiModelProperty("被评对象目标周期ID")
    private String customFieldValue4;

    /**
     * 自定义字段值5
     */
    @ApiModelProperty("资金来源ID")
    private String customFieldValue5;

    /**
     * 自定义字段值6
     */
    @NotNull(message = "关联目标内容类型编码不能为空")
    @ApiModelProperty("关联目标内容类型编码")
    private String customFieldValue6;

    /**
     * 自定义字段值7
     */
    @NotNull(message = "关联目标内容ID不能为空")
    @ApiModelProperty("关联目标内容ID")
    private String customFieldValue7;

}
